<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.danielvaughan.orpius.com/2009/02/" elementFormDefault="qualified" targetNamespace="http://schemas.danielvaughan.orpius.com/2009/02/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:2099/ClogService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/DanielVaughan.Logging" />
  <xs:import schemaLocation="http://localhost:2099/ClogService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="ClientInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="IPAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LogName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MachineName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ClientInfo" nillable="true" type="tns:ClientInfo" />
  <xs:complexType name="ServerLogEntry">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LogEntryBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="AppDomain" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Identity" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ServerLogEntry" nillable="true" type="tns:ServerLogEntry" />
  <xs:complexType name="LogEntryBase">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LogEntryData">
        <xs:sequence>
          <xs:element minOccurs="0" name="PrincipalIdentity" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LogEntryBase" nillable="true" type="tns:LogEntryBase" />
  <xs:complexType name="LogEntryData">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:ClientInfo">
        <xs:sequence>
          <xs:element minOccurs="0" name="CodeLocation" nillable="true" type="tns:CodeLocation" />
          <xs:element minOccurs="0" name="ExceptionMemento" nillable="true" type="tns:ExceptionMemento" />
          <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DanielVaughan.Logging" minOccurs="0" name="LogLevel" type="q1:LogLevel" />
          <xs:element minOccurs="0" name="ManagedThreadId" type="xs:int" />
          <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="OccuredAt" type="xs:dateTime" />
          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Properties" nillable="true" type="q2:ArrayOfKeyValueOfstringanyType" />
          <xs:element minOccurs="0" name="ThreadName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LogEntryData" nillable="true" type="tns:LogEntryData" />
  <xs:complexType name="CodeLocation">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClassName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LineNumber" type="xs:int" />
      <xs:element minOccurs="0" name="MethodName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CodeLocation" nillable="true" type="tns:CodeLocation" />
  <xs:complexType name="ExceptionMemento">
    <xs:sequence>
      <xs:element minOccurs="0" name="HelpLink" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Source" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StackTrace" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TypeName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExceptionMemento" nillable="true" type="tns:ExceptionMemento" />
  <xs:element name="GetConfiguration">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="clientInfo" nillable="true" type="xs:anyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetConfigurationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetConfigurationResult" nillable="true" type="tns:ClientConfigurationData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ClientConfigurationData">
    <xs:sequence>
      <xs:element minOccurs="0" name="ExpiresInSeconds" type="xs:int" />
      <xs:element minOccurs="0" name="LogEnabled" type="xs:boolean" />
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/DanielVaughan.Logging" minOccurs="0" name="LogLevel" type="q3:LogLevel" />
      <xs:element minOccurs="0" name="RetrievedOn" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ClientConfigurationData" nillable="true" type="tns:ClientConfigurationData" />
  <xs:element name="WriteEntrySilverlight">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="entryData" nillable="true" type="xs:anyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="WriteEntrySilverlightResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="WriteEntry">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="entryData" nillable="true" type="xs:anyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>